I. Field of the Invention
The present invention relates to coding. More particularly, the present invention relates to a novel and improved technique for performing iterative coding and decoding.
II. Description of the Related Art
xe2x80x9cTurbo codingxe2x80x9d represents an important advancement in the area of forward error correction (FEC). There are many variants of turbo coding, but most types of turbo coding use multiple encoding steps separated by interleaving steps combined with interactive decoding. This combination provides previously unavailable performance with respect to noise tolerance in a communications system. That is, turbo coding allows communications at Eb/No levels that were previously unacceptably using the existing forward error correction techniques.
Many systems use forward error correction techniques, and therefore would benefit from the use of turbo coding. For example, turbo codes could improve the performance of wireless satellite links, where the limited downlink transmit power of the satellite necessitates receiver systems that can operate at low Eb/No levels.
Digital wireless telecommunication systems, such as digital cellular and PCS telephone systems, also use forward error correction. For example, the IS-95 over-the-air interface standard, and its derivatives, such as IS-95B, define a digital wireless communications system that uses convolutional encoding to provide coding gain to increase the capacity of the system. A system and method for processing RF signals substantially in accordance with the use of the IS-95 standard is described in US pat. No. 5,103,459 entitled xe2x80x9cSystem and Method for Generating Signal Waveforms in a CDMA ellular Telephone Systemxe2x80x9d assigned to the assignee of the present invention and incorporated herein by reference (""459 patent). which are small and light. Typically, this requires development of a semiconductor integrated circuit (xe2x80x9cchipxe2x80x9d) for performing most or all of the necessary processing. While convolutional encoding is relatively complex, the circuits necessary to perform convolutional encoding and decoding can be formed on a single chip along with any other necessary circuitry.
Turbo coding (in particular the decoding operation) is significantly more complex than convolutional encoding. Nonetheless, it would be highly desirable to include turbo coding in digital wireless telecommunication systems, including mobile digital communication systems. Thus, the present invention is directed to reducing the complexity associated with performing turbo coding, and therefore facilitating the use of turbo coding in systems where mobility is desirable, or where power consumption and circuit size are of concern.
The present invention is a novel and improved technique for performing coding with particular application to turbo, or iterative, coding techniques. In accordance with one embodiment of the invention, interleaving is performed by generating the address of a memory using a PN state generator. Data is written into a memory in sequential order, and then read out using addresses specified by the PN state generator. To deinterleave, the interleaved data is written into a memory using addresses specified by the PN state generator, and then read out in sequential order. A set of PN state generators that provide excellent coding performance is provided.